Zurück in DatenbankentwicklungWeiter in DatenbankentwicklungInitialisierung von QUIZ_BACKEND ?

Die Aufgaben von QUIZ_BACKEND stammen aus der umfassenden Aufgabenbank TESTVERWALTUNG_BACKEND. Die teilnehmerspezifischen Daten - insbesondere die Scores - fallen hingegen erst im Verlauf der Sitzungen mit den Testteilnehmern an. Nach dem Start von Access_Quiz.mdb öffnet die Ereignisprozedur Form_Open des Formulars FrmStart die Aufgabenbank QUIZ_BACKEND und initialisiert die Daten des jeweiligen Teilnehmers, falls er nicht bereits in einer früheren Sitzung am gleichen Quiz gearbeitet hat:

Ereignisprozedur Form_Open
  Öffne QUIZ_BACKEND
  Falls Primärschlüssel und Index von QuizZUORDNUNGS_LÖSUNGEN noch fehlen		 '1)
    definiere einen Primärschlüssel aus Fragenschlüssel,Buchstabenpräfix,Zahlenpräfix
  Falls der Quizautor die Selbstkorrektur nicht erlaubt					 '2)
    verlange vom Teilnehmer die Matrikelnummer als Identifikation
    Falls die Matrikelnummer leer ist
      verlasse die Anwendung
  Für jede Alternative jeder Mehrfachwahlaufgabe von QuizMEHRFACHWAHL                 '3)
    speichere in SCORESMC eine Zeile mit den folgenden Feldern:                       '4)
      Fragenschlüssel
      Alternativenschlüssel
      Matrikelnummer                                                             
      Testschlüssel
      Benutzerlösung = False

Erläuterungen

  1. Weil der Access-Befehl TransferDatabase die in der Ausgangsdatenbank TESTVERWALTUNG_BACKEND definierten Index- und Primärschlüsseleigenschaften nicht mit in die neue Datenbank QUIZ_BACKEND exportiert, muss nach dem ersten Login der Primärschlüssel für die Tabelle QuizZUORDNUNGS_LÖSUNGEN nochmals definiert und indiziert werden.

  2. Falls der Quizautor die Selbstkorrektur nicht vorgesehen hat, wird von jedem Teilnehmer eine Matrikelnummer verlangt. Jedes Login in die Quizdatenbank fügt ausserdem der Tabelle SCORESMC eine Gruppe von Satzskeletten für den jeweiligen Teilnehmer an. SCORESMC enthält für jede Teilnehmerin so viele Sätze, wie Alternativen in den Mehrfachwahlaufgaben vorkommen (bei 10 Mehrfachwahlaufgaben zum Beispiel 4*10=40 Sätze). Die Spalten Fragenschlüssel und Alternativenschlüssel sind identisch mit den gleichnamigen Spalten der aus TESTVERWALTUNG_BACKEND exportierten Tabelle QuizMEHRFACHWAHL.

  3. Anders als das SCORESMC-Skelett kann kein SCORESZO-Skelett erstellt werden. Zwei Felder des Primärschlüssels sind nämlich erst nach dem ersten Lösungsversuch bekannt.

  4. Bei Selbstkorrektur erhalten die Felder Testschlüssel und Matrikelnummer den Wert -1. QUIZ_BACKEND.mdb überlässt dann die Antwortenbewertung dem Teilnehmer und verhindert, dass die Antworten in die Scoretabellen von TESTVERWALTUNG_BACKEND übertragen werden. Der aus TESTVERWALTUNG_BACKEND.mdb übertragene Testschlüssel und die Matrikelnummer (-1) bleiben konstant. Das SCORESMC-Attribut Benutzerlösung wird gesetzt, sobald die Teilnehmerin die Mehrfachwahlaufgabe gelöst hat. Der Initialwert False steht für ein leeres Kontrollkästchen, das die Testteilnehmerin später markieren wird.